package controllerActions;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.sql.SQLException;
import java.util.ResourceBundle;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import dao.BenutzerDAO;

import beans.Benutzer;

public class InsertBenutzer {
	public void insertBenutzer(HttpSession session, Benutzer benutzerNeu, HttpServletRequest request, BenutzerDAO benutzerDAO){
		ResourceBundle properties = ResourceBundle.getBundle("controller.string");
		benutzerNeu.setName(request.getParameter("name"));
		benutzerNeu.setVorname(request.getParameter("vorname"));
		benutzerNeu.setLogin(request.getParameter("login"));
		benutzerNeu.setKontostand(10000);
		benutzerNeu.setRolle(request.getParameter("rolleCombobox"));
		benutzerNeu.setPasswort(md5Java(request.getParameter("passwort")));
		session.putValue("meldung", properties.getString("meldung3")+ benutzerNeu.getName());
		try {
			benutzerDAO.insertBenutzer(benutzerNeu);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public String md5Java(String message){ 
		String digest = null; 
		try { MessageDigest md = MessageDigest.getInstance("MD5"); 
			byte[] hash = md.digest(message.getBytes("UTF-8")); //converting byte array to Hexadecimal String 
			StringBuilder sb = new StringBuilder(2*hash.length); 
			for(byte b : hash){ 
				sb.append(String.format("%02x", b&0xff)); 
			} 
			digest = sb.toString(); 
		} 
		catch (UnsupportedEncodingException ex) { 
		
		}		
		catch (NoSuchAlgorithmException ex) { 
					
		} 
		return digest; 
				
		
	}

}
